Static Dictionaries Supporting Rank

نویسندگان

  • Venkatesh Raman
  • S. Srinivasa Rao
چکیده

A static dictionary is a data structure for storing a subset S of a nite universe U so that membership queries can be answered eeciently. We explore space eecient structures to also nd the rank of an element if found. We rst give a representation of a static dictionary that takes n lg m + O(lg lg m) bits of space and supports membership and rank (of an element present in S) queries in constant time, where n = jSj and m = jU j. Using our structure we also give a representation of a m-ary cardinal tree with n nodes using ndlg me + 2n + o(n) bits of space that supports the tree navigational operations in O(1) time, when m is o(2 lg n= lg lg n). For arbitrary m, we give a structure that takes the same space and supports all the navigational operations, except nding the child labeled i (for any i), in O(1) time. Finding the child labeled i in this structure takes O(lg lg lg m) time.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dynamic Rank/Select Dictionaries with Applications to XML Indexing

We consider a central problem in text indexing: Given a text T over an alphabet Σ, construct a compressed data structure answering the queries char (i), rank s(i), and selects(i) for a symbol s ∈ Σ. Many data structures consider these queries for static text T [GGV03, FM01, SG06, GMR06]. We consider the dynamic version of the problem, where we are allowed to insert and delete symbols at arbitra...

متن کامل

A Framework for Dynamizing Succinct Data Structures

We present a framework to dynamize succinct data structures, to encourage their use over non-succinct versions in a wide variety of important application areas. Our framework can dynamize most stateof-the-art succinct data structures for dictionaries, ordinal trees, labeled trees, and text collections. Of particular note is its direct application to XML indexing structures that answer subpath q...

متن کامل

Low Redundancy in Static Dictionaries with O(1) Worst Case Lookup Time

A static dictionary is a data structure for storing subsets of a finite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size Ω(log |U |), and show that for n-element subsets, constant worst case query time can be obtained using B +O(log log |U |) + o(n) bits of storage, where B = dlog2 (|U| n ) e is the minimum number...

متن کامل

Fast dictionary learning from incomplete data

This paper extends the recently proposed and theoretically justified iterative thresholding and K residual means (ITKrM) algorithm to learning dictionaries from incomplete/masked training data (ITKrMM). It further adapts the algorithm to the presence of a low-rank component in the data and provides a strategy for recovering this low-rank component again from incomplete data. Several synthetic e...

متن کامل

Practical compressed string dictionaries

The need to store and query a set of strings – a string dictionary – arises in many kinds of applications. While classically these string dictionaries have accounted for a small share of the total space budget (e.g., in Natural Language Processing or when indexing text collections), recent applications in Web engines, Semantic Web (RDF) graphs, Bioinformatics, and many others, handle very large...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999